/****************************************************************************
 *
 *   Copyright (c) 2020-2021 PX4 Development Team. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name PX4 nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include "geo_mag_declination.h"


TEST(GeoLookupTest, declination)
{
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.38463, 0.40064 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.58121, 0.3937 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.59888, 0.38792 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.48632, 0.3831 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.28636, 0.37908 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 31.03896, 0.37572 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.78222, 0.3729 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.55005, 0.37054 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.36699, 0.36854 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.24177, 0.36684 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.16184, 0.3654 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.0907, 0.36418 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.96881, 0.36321 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.71784, 0.36254 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.24772, 0.36225 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.4657, 0.36247 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.28653, 0.36334 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.64288, 0.36502 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.49505, 0.36766 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.83919, 0.37139 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.71344, 0.37629 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.20071, 0.38242 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.4264, 0.38977 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.54876, 0.39834 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.74152, 0.40813 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.82924, 0.41912 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -4.02853, 0.43133 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.77086, 0.4447 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.02956, 0.45907 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.83649, 0.47408 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.27417, 0.48916 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.4637, 0.50352 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.55219, 0.51614 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.70035, 0.5259 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -17.06837, 0.53173 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.7966, 0.53282 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -20.98165, 0.52886 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.65482, 0.52014 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.77365, 0.50755 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.23238, 0.49236 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.88778, 0.47602 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.58899, 0.45986 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.20031, 0.44496 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.61208, 0.43205 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.74094, 0.42159 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.52437, 0.41377 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -52.91366, 0.40866 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.86789, 0.40625 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.34916, 0.40654 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.31836, 0.40954 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.7301, 0.41537 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.52618, 0.42423 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.62793, 0.43642 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.92986, 0.45229 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.29904, 0.47207 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.58717, 0.49561 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.66403, 0.52191 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.47893, 0.5486 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.14118, 0.57185 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -21.97761, 0.58723 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.50237, 0.59156 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.27983, 0.58452 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.23872, 0.56854 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.79853, 0.5473 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.32409, 0.52411 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.85487, 0.50129 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.48542, 0.48015 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.32796, 0.46129 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.49445, 0.44487 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 29.09035, 0.43082 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.21306, 0.41893 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 30.95141, 0.40896 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.38463, 0.40064 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.44206, 0.37417 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.748, 0.37028 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.88345, 0.36704 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.88805, 0.36435 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.79512, 0.36214 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.6365, 0.36034 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.44618, 0.35891 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.26006, 0.35781 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.11125, 0.35703 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 26.02266, 0.35653 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 25.99947, 0.35631 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.02346, 0.35636 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.04976, 0.35668 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.00629, 0.35729 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.79639, 0.35825 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.30597, 0.35964 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.41565, 0.36162 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 23.01705, 0.36435 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 21.03024, 0.36805 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.4199, 0.37288 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.20824, 0.37896 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.48293, 0.38634 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.39693, 0.39498 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.15587, 0.40483 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -1.00869, 0.4159 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.87605, 0.42823 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.2723, 0.44196 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.09467, 0.45722 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.31829, 0.47406 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -14.98663, 0.49232 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.19202, 0.51163 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -17.05538, 0.53125 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.71411, 0.55005 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.32168, 0.56644 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -19.05183, 0.57848 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.09163, 0.58428 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.6102, 0.58252 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.70965, 0.57298 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.38532, 0.55668 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.52274, 0.53562 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -32.93439, 0.51227 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.41337, 0.48895 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.77612, 0.46746 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -42.88091, 0.44895 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.62593, 0.43399 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -47.93777, 0.42271 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.75952, 0.41499 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -51.04255, 0.41062 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.74189, 0.40932 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.81339, 0.41083 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.21065, 0.4149 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.88113, 0.42131 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.76445, 0.42978 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.79912, 0.43989 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -40.94433, 0.45089 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.21801, 0.46163 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.73757, 0.47062 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.73405, 0.4764 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.51416, 0.47815 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.38121, 0.47589 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.56344, 0.47039 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.19048, 0.46266 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.68502, 0.4536 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 8.0514, 0.44388 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.91168, 0.43395 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.27254, 0.42415 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.14304, 0.41474 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.53681, 0.40592 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.47481, 0.39784 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 23.98791, 0.39061 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 25.11812, 0.38426 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.91723, 0.3788 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.44206, 0.37417 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.62624, 0.35474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 22.96964, 0.35269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.16118, 0.35104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.23431, 0.34972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.21228, 0.3487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.11463, 0.34793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.96431, 0.34741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.79069, 0.34715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.62687, 0.34715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.50297, 0.34743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.43851, 0.34802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43549, 0.34893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.47176, 0.35016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.49431, 0.35173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.41424, 0.35364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.10777, 0.35594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.42762, 0.35876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.22468, 0.36228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.37532, 0.36673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.80806, 0.37233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.52562, 0.3792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.61935, 0.38735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.27161, 0.39667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.26152, 0.40704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.69039, 0.41843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.74641, 0.43098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.23193, 0.44496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.04789, 0.46069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.19279, 0.47842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.73826, 0.49825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.79216, 0.52009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.46455, 0.5436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.85249, 0.56794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -21.05335, 0.59155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.19951, 0.61191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.48673, 0.62584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.15845, 0.63028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.43139, 0.62353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.39987, 0.60604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -27.98749, 0.58033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -30.98082, 0.55008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -34.11392, 0.51904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -37.14474, 0.49014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -39.88992, 0.4652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.2226, 0.44501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -44.05458, 0.42963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.31966, 0.41873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -45.96451, 0.4118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.94603, 0.40823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.23127, 0.40743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.79647, 0.40876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.62523, 0.41163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.71122, 0.41536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.07345, 0.41916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.786, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -26.00732, 0.42353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -20.97904, 0.42271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -15.97501, 0.41973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.22195, 0.41517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.84289, 0.40981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.85552, 0.40433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.78635, 0.39907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.14206, 0.39412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.25043, 0.3894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.12011, 0.38481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.73712, 0.38028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 15.07734, 0.37583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.11621, 0.3715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.83511, 0.36739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.22692, 0.36359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.30125, 0.36018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.08652, 0.35723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.62624, 0.35474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.5655, 0.34 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.90349, 0.33909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.11168, 0.33846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.22222, 0.33806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.25109, 0.33785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.20537, 0.33781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.09367, 0.33794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.93298, 0.33826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.74878, 0.33879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.5704, 0.33958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.42511, 0.34067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.33185, 0.34209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.29284, 0.34387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.28075, 0.34598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.22444, 0.34843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 19.00111, 0.35123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.44431, 0.35448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.37018, 0.35838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.61545, 0.36317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.07606, 0.36907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.73907, 0.37618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.70363, 0.38446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.18419, 0.39369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.51459, 0.40371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -8.05463, 0.41448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -12.13725, 0.42624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.56272, 0.43938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.25514, 0.45434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.24988, 0.47147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.65335, 0.49097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.58971, 0.51297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.15325, 0.53746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.38794, 0.56416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.30913, 0.59208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -22.96409, 0.61895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.50209, 0.64104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.20041, 0.6538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.39623, 0.65351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.34016, 0.63904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -25.07127, 0.6125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.40898, 0.5783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -30.0522, 0.54151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.69632, 0.50639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -35.09885, 0.47565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -37.08812, 0.45051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.54557, 0.43108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.38795, 0.41686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.55917, 0.40707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -39.02957, 0.40082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.79584, 0.39721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.87671, 0.39542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.30578, 0.39465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.13093, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.43036, 0.39338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.34094, 0.39159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -18.07263, 0.38848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.87843, 0.38414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -9.98202, 0.37905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.50708, 0.37386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.45496, 0.36913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.73717, 0.36516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.76499, 0.36196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14698, 0.35933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.45372, 0.35706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.68124, 0.35492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.79605, 0.35281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.75528, 0.35068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.51768, 0.34855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 16.04709, 0.34646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.3161, 0.34449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.31356, 0.34272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 19.05161, 0.34121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.5655, 0.34 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 17.06703, 0.32868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.36993, 0.32849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.56356, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.68377, 0.32874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.74382, 0.3291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.74102, 0.3296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.66996, 0.33022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.53283, 0.33098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.34278, 0.3319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.12199, 0.33303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.89876, 0.33443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.70348, 0.33612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.55962, 0.33812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.4655, 0.34042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.37056, 0.34301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.1581, 0.34589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.64948, 0.34916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.63483, 0.35303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 12.92142, 0.35773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.38372, 0.36347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 7.00393, 0.37029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 2.89689, 0.37806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.68967, 0.38651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.41186, 0.39543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -10.90321, 0.40486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.85939, 0.41514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -18.09772, 0.42676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.57276, 0.44021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.35204, 0.45576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.56545, 0.47356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.34267, 0.49366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.75823, 0.51613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.80871, 0.54098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.43945, 0.56779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.61823, 0.59505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.42925, 0.61964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -21.13516, 0.63695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.14192, 0.64239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.84687, 0.63344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.45657, 0.61096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.90774, 0.57873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -23.93218, 0.54191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.18733, 0.50532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.35741, 0.47238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.19413, 0.44485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.51822, 0.42311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.21114, 0.40672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.21017, 0.39482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.50554, 0.3864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.1324, 0.38051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.15356, 0.3763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.63969, 0.37306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.66314, 0.37021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.31727, 0.36723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.74953, 0.36376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.17245, 0.35966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.82243, 0.35509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.88046, 0.3505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.40779, 0.34635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33834, 0.34295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.4744, 0.34042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.18794, 0.33862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.91274, 0.33736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.68667, 0.33637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.48558, 0.33547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.25467, 0.33455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.937, 0.33359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.48443, 0.33258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.85496, 0.33158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 15.01103, 0.33062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.92725, 0.32978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.60286, 0.32912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 17.06703, 0.32868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 15.02726, 0.3201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.27347, 0.32035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.42587, 0.3208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.52823, 0.32143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.5958, 0.3222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.62044, 0.32309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.58541, 0.32408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.47882, 0.32517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.29994, 0.32639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.06045, 0.32776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.78488, 0.32933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.50973, 0.33113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.27421, 0.33315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.0972, 0.33538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.94482, 0.33782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.7055, 0.34048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.19208, 0.34348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.17795, 0.34702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.45473, 0.35134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 7.89121, 0.35657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.47894, 0.3627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.35663, 0.36949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -4.19765, 0.37663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.8172, 0.38396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -13.13209, 0.39162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.85436, 0.40003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.82712, 0.40975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -22.0277, 0.42121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.53628, 0.4346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.48378, 0.44985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -24.9902, 0.46676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.11098, 0.48518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.8167, 0.505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -24.02393, 0.52598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.6716, 0.5472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -20.81453, 0.56662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -18.68876, 0.58097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.69591, 0.58672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.28363, 0.58152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.776, 0.56533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.25917, 0.54043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.5812, 0.5105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.43578, 0.47941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.46377, 0.4503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.32978, 0.42509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.76649, 0.40455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.59574, 0.38852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.73424, 0.37639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.18541, 0.36734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -23.01531, 0.36056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.31605, 0.35537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.17216, 0.35124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.65277, 0.34771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.83969, 0.34442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.87041, 0.34108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -7.95154, 0.33755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.31199, 0.33397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.11626, 0.33059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39704, 0.32773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.05072, 0.32557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.10757, 0.32412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.26379, 0.32328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.53791, 0.32283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.95678, 0.32257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.4726, 0.32234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.00768, 0.32206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.49257, 0.32171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.877, 0.32133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.11963, 0.32092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.17868, 0.32054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 14.01836, 0.32023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.62664, 0.32007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 15.02726, 0.3201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.38619, 0.31386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.56171, 0.31437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.65165, 0.31508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.7108, 0.31597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.76072, 0.31701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.79229, 0.31816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.78115, 0.31941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70371, 0.32074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.54633, 0.32215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.30966, 0.32368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 13.01258, 0.32533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.69375, 0.32711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.40197, 0.32902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.16858, 0.33104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 11.96825, 0.33317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.68959, 0.33547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.13873, 0.33806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.08174, 0.34116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.30968, 0.34496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.70223, 0.34952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.27351, 0.35472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.80948, 0.36027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.24677, 0.36585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.66866, 0.37137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.72337, 0.37706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.15123, 0.38341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.81764, 0.39097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.70611, 0.40011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.88696, 0.4109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.47295, 0.42309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.56796, 0.43618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.22234, 0.4497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.41781, 0.46325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -22.0978, 0.47653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.23422, 0.489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -17.89921, 0.49962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.30504, 0.50685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.7864, 0.50897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.72457, 0.50475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.44383, 0.49397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.12335, 0.47761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.75368, 0.45753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.14401, 0.43594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -12.97252, 0.41487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.86451, 0.3958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.47612, 0.37955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.55956, 0.36632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -17.9939, 0.35588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.77764, 0.34775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -16.98892, 0.34143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.72957, 0.33649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.0801, 0.33256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.09299, 0.32934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.83006, 0.32655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.41483, 0.32395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.04959, 0.32142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -2.96554, 0.31898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.32825, 0.3168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.16224, 0.31505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.65685, 0.31384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.34222, 0.31319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.10408, 0.31297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.07087, 0.31304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.25823, 0.31321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.59474, 0.31338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 6.97992, 0.31348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33257, 0.31351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.60208, 0.31348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.75043, 0.31343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.73444, 0.3134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.50997, 0.31341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 13.05446, 0.31355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.38619, 0.31386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.10127, 0.30971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.20132, 0.31038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.21578, 0.31125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.21271, 0.31229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.22361, 0.31348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.24237, 0.31479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.24047, 0.31617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.1851, 0.31762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.05153, 0.31912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.83084, 0.32069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.53661, 0.32231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.20771, 0.32399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.89695, 0.3257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.6392, 0.32744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.40825, 0.32922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.08751, 0.33113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.47848, 0.33333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.34965, 0.33601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.50577, 0.33929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 3.85136, 0.34315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.4315, 0.34738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.56033, 0.35164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.81525, 0.35566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -11.97839, 0.35939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.72848, 0.36315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.83402, 0.36743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.17151, 0.37273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.71499, 0.37936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51187, 0.38729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.65198, 0.39616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.23194, 0.40534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.32264, 0.41412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -20.95707, 0.42194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.1501, 0.42846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -16.94025, 0.43349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.42687, 0.43682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -11.78082, 0.43815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.22853, 0.43705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -7.02313, 0.43311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.41161, 0.42616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.59283, 0.41641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66271, 0.40456 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.56402, 0.39156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -7.07365, 0.37841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.84852, 0.36595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.51857, 0.35479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.78656, 0.34523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.4909, 0.3373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.61022, 0.33087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.2164, 0.3257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.40502, 0.32156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.2421, 0.31828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.75861, 0.31567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -6.99448, 0.31354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.05748, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.14397, 0.31006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.48873, 0.30858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26512, 0.30734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.49959, 0.30644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.93914, 0.30594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.28668, 0.30583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.77237, 0.30604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.5325, 0.30645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.57371, 0.30692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.80417, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.10323, 0.30772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.37888, 0.30802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.57993, 0.30825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.67142, 0.30845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.6091, 0.30865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.34103, 0.30889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.83432, 0.30922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.10127, 0.30971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.13055, 0.30748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.16209, 0.30827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.09942, 0.30924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 11.02557, 0.31036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 10.98519, 0.31162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.97863, 0.31297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.97581, 0.31438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.93617, 0.31582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.82512, 0.31729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.62573, 0.31876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.34776, 0.32024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 10.02973, 0.32172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.72418, 0.32317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.46194, 0.3246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.20838, 0.32605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.83866, 0.32764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.15345, 0.32952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 6.93338, 0.33186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 5.0085, 0.3347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.31716, 0.33795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -1.06277, 0.3413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -4.91905, 0.3444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -8.94795, 0.34702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.8213, 0.3492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.25017, 0.35124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -19.0232, 0.35363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -21.01696, 0.35678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.18952, 0.36094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.56744, 0.36606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.22856, 0.37175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.27994, 0.37739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.83452, 0.38228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -17.99636, 0.38587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -15.86121, 0.38794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.52643, 0.38855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -11.09655, 0.38796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.6802, 0.38641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.38914, 0.38401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.34978, 0.38067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.71873, 0.37624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.6752, 0.37066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.37036, 0.36406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.84951, 0.35677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -2.99504, 0.34919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.53418, 0.3417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.11838, 0.33465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.43585, 0.32827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.29869, 0.3227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.66394, 0.31796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.58874, 0.31401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.15451, 0.31078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.40898, 0.30818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.36112, 0.30615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -5.0289, 0.30457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.50191, 0.30333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -1.96536, 0.30234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.65225, 0.30155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.25767, 0.30099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.72997, 0.3007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.89912, 0.3007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 1.00905, 0.30098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.30351, 0.30148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 1.92524, 0.30212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.87541, 0.30281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.048, 0.30348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.30726, 0.30409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.55197, 0.30462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.72894, 0.30509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.80401, 0.30552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.73041, 0.30592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.44795, 0.30635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.91289, 0.30685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.13055, 0.30748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.42241, 0.30704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.40652, 0.30794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.27923, 0.30898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.13965, 0.31014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 10.04845, 0.3114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 10.01563, 0.31271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 10.01141, 0.31405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.98787, 0.31537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.90034, 0.31667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.72428, 0.31794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.4665, 0.31916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.16494, 0.32035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.86904, 0.32148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.60092, 0.32259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.31404, 0.32376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.876, 0.32509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.09252, 0.32676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.76496, 0.32886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.75672, 0.33137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 1.04346, 0.3341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.26803, 0.33673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -5.95724, 0.33889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.73692, 0.3404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.30989, 0.34133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.41461, 0.34198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.8511, 0.34276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.49168, 0.34406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28372, 0.34607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.247, 0.34872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.46476, 0.35172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -19.06782, 0.35455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.21384, 0.35666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -15.06712, 0.35767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -12.78187, 0.35745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.48742, 0.35618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.27453, 0.3542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.19043, 0.35188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.25435, 0.34942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.49565, 0.34682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -0.99609, 0.34398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), 0.09718, 0.34075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.61356, 0.33711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.44482, 0.33309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.37411, 0.32884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.64403, 0.32447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.06041, 0.32016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.32351, 0.31605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.23739, 0.31227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.74503, 0.30889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.88983, 0.30596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.73935, 0.30349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.32516, 0.30147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.63756, 0.29989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.6744, 0.29871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.50529, 0.29787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.29816, 0.2973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27588, 0.29697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.38187, 0.29687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.63386, 0.297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.60913, 0.29735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.55259, 0.2979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.71338, 0.29861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.23822, 0.29944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.12717, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.26817, 0.30122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.51741, 0.30207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.76698, 0.30286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.95992, 0.3036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.05961, 0.30428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 9.01446, 0.30492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.75495, 0.30557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.22545, 0.30625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.42241, 0.30704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.91039, 0.30822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.88401, 0.30927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.72103, 0.31038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.53656, 0.31156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.40951, 0.31278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.36244, 0.31399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.36765, 0.31517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.36976, 0.31628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.31277, 0.31732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.16343, 0.31827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.92484, 0.31916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.63332, 0.31998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.33352, 0.32076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 8.03744, 0.32156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.68743, 0.32246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.14797, 0.32361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.23669, 0.32512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.78267, 0.32705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.68689, 0.32931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), -0.03845, 0.33165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.26409, 0.33371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.77047, 0.33516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.2926, 0.33585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.56286, 0.33584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.34108, 0.33542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.4353, 0.33496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.71866, 0.33477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.14147, 0.33505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.7339, 0.33578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.59728, 0.33673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -16.88635, 0.33757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.78734, 0.33794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.4955, 0.33758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.19148, 0.33644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -8.01494, 0.33467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -6.04091, 0.33255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.27375, 0.33035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.67142, 0.32826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.19748, 0.32631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.12224, 0.32442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.17389, 0.32248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.78806, 0.32041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.82399, 0.31818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.26027, 0.31578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.23491, 0.31324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -0.99484, 0.31061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.15335, 0.30797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04901, 0.30541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.6187, 0.30302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.89699, 0.30086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.9425, 0.29896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.777, 0.29737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.37857, 0.29612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.72926, 0.29519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.87874, 0.29459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.97277, 0.29428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.21555, 0.29423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.22179, 0.29442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.29501, 0.29482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.12407, 0.2954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), -0.05408, 0.29613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), 0.0063, 0.297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.45289, 0.29799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.28902, 0.29906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.40552, 0.30018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.65858, 0.3013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.93683, 0.3024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.17819, 0.30346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.3404, 0.30445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.36481, 0.3054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.17153, 0.30632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.69178, 0.30725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.91039, 0.30822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.51221, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.52829, 0.31208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.37637, 0.3133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.18517, 0.31449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.0524, 0.31564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 9.0154, 0.31671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.05054, 0.31767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.09556, 0.3185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.08222, 0.31921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 8.96662, 0.3198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.74585, 0.3203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.45236, 0.32074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.12468, 0.32116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.76562, 0.32166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.31058, 0.32234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.62736, 0.32333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.55223, 0.32472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 3.94678, 0.32651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.75084, 0.32855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -0.9897, 0.33055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -4.1287, 0.33217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.45207, 0.33309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.71696, 0.33318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.68133, 0.33251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.12418, 0.33131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.86645, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79465, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.8778, 0.32763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.16862, 0.32695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.78853, 0.32648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -14.90461, 0.32603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.70768, 0.32539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.39429, 0.32439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.14644, 0.32299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -6.10343, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.33234, 0.31941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.81702, 0.31758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.48236, 0.31591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.25124, 0.31443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.89098, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.86158, 0.31189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.50354, 0.31067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.66361, 0.30941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.285, 0.30804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45894, 0.30655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.40027, 0.30493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.64223, 0.3032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.48646, 0.30143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.06774, 0.29971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.41587, 0.29808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.586, 0.2966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.59782, 0.29531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.42556, 0.29426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.04176, 0.29349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.47837, 0.29301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.85632, 0.29283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.35429, 0.29293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.12663, 0.29327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.21524, 0.29382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.51025, 0.29454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.78943, 0.29539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.8179, 0.29638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.44993, 0.2975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.32488, 0.29875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.40837, 0.30011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.66438, 0.30153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 3.98185, 0.30297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.29305, 0.30439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.54788, 0.30577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.67925, 0.30709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.59668, 0.30836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.21757, 0.30961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.51221, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.13408, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.25854, 0.31608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.18156, 0.31745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 9.0396, 0.31868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.9464, 0.31974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.9545, 0.32064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.04652, 0.32135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.15554, 0.32187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.20201, 0.32224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.13022, 0.32247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.92831, 0.3226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.62158, 0.32269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.24095, 0.32281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.78199, 0.32305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.17838, 0.32355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.30786, 0.3244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 5.03071, 0.32568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.24356, 0.32732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 0.92434, 0.32912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.85014, 0.3308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -4.91924, 0.33201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -8.0732, 0.33249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -11.08672, 0.33213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.73985, 0.33098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.83417, 0.32924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.21513, 0.3272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.79815, 0.32515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.58335, 0.32326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.64948, 0.32164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.13073, 0.32025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.19033, 0.31901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -11.00285, 0.31781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.74579, 0.31654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.58806, 0.31514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.66467, 0.31363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -3.0431, 0.31209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.70476, 0.31062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.5632, 0.30929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.48019, 0.30816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.46832, 0.3072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.34652, 0.30638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 2.97652, 0.30564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.20575, 0.30493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.95725, 0.30416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.28749, 0.30329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.37486, 0.30227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.44216, 0.3011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.33947, 0.29983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.90522, 0.29853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.28171, 0.29725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.52423, 0.29604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.65687, 0.29494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.6582, 0.29402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.49849, 0.29331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.1959, 0.29287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.84623, 0.29273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.59843, 0.29287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.58359, 0.29327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.83584, 0.29388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.25424, 0.29465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.63473, 0.29556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.75814, 0.29662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.48274, 0.29784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.78851, 0.29925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.24316, 0.30083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.48978, 0.30254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.8441, 0.30433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.23318, 0.30615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.59825, 0.30795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.86382, 0.3097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.93038, 0.3114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.70249, 0.31304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.13408, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.68252, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 8.98682, 0.32088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.06114, 0.32243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 9.0399, 0.32372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.04548, 0.32472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.14258, 0.32543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32162, 0.32589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.51516, 0.32613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.63623, 0.3262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.61851, 0.32613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.43914, 0.32599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.11279, 0.32584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.66078, 0.32575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.07291, 0.32583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.28562, 0.32622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.19161, 0.32699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.67838, 0.32816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.67795, 0.32962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.20474, 0.33116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.63517, 0.33246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.66522, 0.33324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.67468, 0.33328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.44943, 0.33251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.79032, 0.33097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.52879, 0.32886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.54856, 0.32641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.807, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.34125, 0.32145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.25234, 0.31924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.67614, 0.31731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.75821, 0.31562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.64434, 0.31413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.48321, 0.31275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.4243, 0.31143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.59668, 0.31013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -2.07313, 0.30888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -0.84407, 0.3077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.17292, 0.30665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 1.08323, 0.30576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 1.94784, 0.30504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.73689, 0.30449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.3347, 0.30405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.59882, 0.30368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.44342, 0.30329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.89944, 0.3028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.1135, 0.30215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.28301, 0.30132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.56715, 0.30034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), 0.03042, 0.29928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.35053, 0.29819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.63202, 0.29713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.84616, 0.29613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.98199, 0.29525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01412, 0.29455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.95171, 0.29409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.86712, 0.29392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.878, 0.29403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.08809, 0.29441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.51911, 0.29501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -2.07622, 0.29577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.57348, 0.29668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.80911, 0.29775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.64645, 0.29902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -2.05508, 0.30054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.09705, 0.30229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.12196, 0.30424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.50094, 0.30634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.96274, 0.30852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.4404, 0.31073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.85174, 0.31293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.09173, 0.31507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.05582, 0.31714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.68252, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.08354, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.63337, 0.32596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.93805, 0.32773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.11759, 0.3291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.29074, 0.33006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52702, 0.33064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.82413, 0.33089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.1192, 0.33091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.32451, 0.33077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.36757, 0.33055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.21484, 0.33029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.86793, 0.33007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.33641, 0.32996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.60447, 0.33006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.61353, 0.33047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.27354, 0.33126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.49983, 0.33237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.25849, 0.33367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.40143, 0.3349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.34445, 0.33578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.37428, 0.33604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.27257, 0.33556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.83125, 0.33432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.87283, 0.33241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.26629, 0.33 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.94366, 0.3273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.91065, 0.32452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.24047, 0.32182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -14.04926, 0.31934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.46533, 0.31713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.6094, 0.31522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.59474, 0.31359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.53956, 0.3122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.57235, 0.31097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.81479, 0.30986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.34577, 0.30885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.17012, 0.30792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.78086, 0.3071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.60814, 0.30642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.38202, 0.30589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.09388, 0.30553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.65311, 0.30531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.93462, 0.30519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.85285, 0.30506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.42039, 0.30483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.755, 0.30441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 2.02755, 0.30377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.38266, 0.30293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.88302, 0.30197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.50912, 0.30094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.20477, 0.29991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.07037, 0.29892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.31863, 0.29802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.52347, 0.29728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.68958, 0.29676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.86877, 0.29651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.14792, 0.29655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.60146, 0.29686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.23499, 0.29738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -2.95572, 0.29807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.59302, 0.2989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -3.96142, 0.29992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.92975, 0.30117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.45834, 0.3027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.59093, 0.30452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.41651, 0.30661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), -0.02924, 0.30891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.49051, 0.31136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.06894, 0.3139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.62011, 0.31648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.03858, 0.31904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.21718, 0.32153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.08354, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.3037, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.14691, 0.33089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.74986, 0.33285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.20618, 0.33433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.61635, 0.33529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.04358, 0.33579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.48938, 0.33594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.89933, 0.33587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.19266, 0.3357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.29751, 0.3355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.1729, 0.33535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.80735, 0.33531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.19722, 0.33543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.32011, 0.33579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.12196, 0.33646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.52913, 0.33745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.48285, 0.33865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 1.98066, 0.33986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.89523, 0.3408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -3.97852, 0.34118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -7.04869, 0.34083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.8746, 0.3397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.25199, 0.33787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.02732, 0.33551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.11167, 0.3328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.48804, 0.32993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.20852, 0.32705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.3762, 0.32428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.1152, 0.32172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.54198, 0.31943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.75266, 0.31747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.83146, 0.31582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -5.86968, 0.31447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -3.97588, 0.31335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.26261, 0.31242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.8126, 0.31162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.35449, 0.31093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.28875, 0.31033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 2.0788, 0.30986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.79679, 0.30952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.45145, 0.30934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 3.97836, 0.30932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.27538, 0.30939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.26467, 0.30947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.94645, 0.30942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.41114, 0.30914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.80012, 0.30858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.23856, 0.30777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.78395, 0.30679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.42037, 0.30572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.09403, 0.30463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.75897, 0.30357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.40051, 0.3026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.02477, 0.30177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.37152, 0.30116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.82271, 0.30081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.38661, 0.30074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.10773, 0.30093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -2.97238, 0.30132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.88509, 0.30186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.68596, 0.30255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.20329, 0.30342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.31192, 0.30453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -4.96599, 0.30594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.195, 0.3077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -3.07446, 0.30977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.69294, 0.31212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.1335, 0.31468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.52512, 0.3174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.19644, 0.32022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78029, 0.32307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.17465, 0.32587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.3037, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.36367, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.52174, 0.33538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.46559, 0.33748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.25465, 0.33905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.95858, 0.34008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.62256, 0.34064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.24578, 0.34086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.78309, 0.3409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.16611, 0.34091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.33018, 0.341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.23197, 0.34124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.84934, 0.34168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.16576, 0.34235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.15106, 0.34331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.75345, 0.34455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 6.91246, 0.34603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.59131, 0.34755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.81583, 0.34884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.2996, 0.34956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.55581, 0.34942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.70447, 0.34834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.49938, 0.34638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.74093, 0.34379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.30183, 0.34083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.13525, 0.33772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.27047, 0.33465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.79722, 0.3317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -13.83934, 0.32895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.52348, 0.32645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -10.95477, 0.32423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.21067, 0.32233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.35442, 0.32076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.45706, 0.3195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.60978, 0.31852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -1.91424, 0.31777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.45295, 0.3172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.74257, 0.31677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.70299, 0.31643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.50005, 0.3162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.20169, 0.31609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.82966, 0.31612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.34521, 0.31629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.67259, 0.31655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.74742, 0.31678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.56222, 0.31685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.18088, 0.31664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.71139, 0.31609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.25316, 0.31522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.85331, 0.31413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.49792, 0.31293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.13787, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.72586, 0.31053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.23872, 0.30946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.67381, 0.30853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.0285, 0.30782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.71621, 0.30735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.59072, 0.30715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.60928, 0.30717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.7359, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.86738, 0.30767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.84959, 0.30809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.52208, 0.30866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.76703, 0.30948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.53725, 0.31062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.85431, 0.31212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.78548, 0.31398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.41623, 0.31617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.83204, 0.31864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.11466, 0.32133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.65199, 0.32418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.37756, 0.32712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.97191, 0.33006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.36367, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.33569, 0.33706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.80184, 0.33957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.09484, 0.34171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.23888, 0.34338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.26699, 0.34457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.1984, 0.34535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 12.0234, 0.34587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.70302, 0.3463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.18195, 0.34681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.40589, 0.34751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.33316, 0.34848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 12.93442, 0.34977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.18215, 0.35139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 11.03811, 0.35336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.45031, 0.3556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.36739, 0.35796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.77038, 0.36016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.71062, 0.36179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.6654, 0.3624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.12352, 0.36173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.38566, 0.35976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.1913, 0.35676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.34837, 0.35314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.75713, 0.34933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.40916, 0.34562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.37072, 0.34219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.75746, 0.3391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.70439, 0.33634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.33702, 0.33392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.75244, 0.33183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -9.0177, 0.33006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.18498, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.31282, 0.32753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.47856, 0.32674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.7718, 0.32622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.27039, 0.32593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 0.98712, 0.3258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 2.0145, 0.32578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.86518, 0.32585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.59867, 0.32603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.24502, 0.32631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.78846, 0.32669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.18011, 0.32711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.37201, 0.32747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.35217, 0.32761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.15859, 0.3274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.86268, 0.3268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.53216, 0.32583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.19793, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.84526, 0.32326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.4308, 0.3219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.91023, 0.3206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.25725, 0.31943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.46466, 0.31843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.53225, 0.31762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.54367, 0.31704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.76638, 0.31667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.11868, 0.31646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.53884, 0.31634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.91115, 0.31626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -7.08309, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.90432, 0.3163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.2673, 0.3166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.12984, 0.31723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.51297, 0.31824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.48164, 0.31966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.12095, 0.32147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.51837, 0.3236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.75666, 0.32603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.08507, 0.32868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.92866, 0.33147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.69939, 0.33431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.33569, 0.33706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.32116, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.06537, 0.34413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.68194, 0.34625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.16541, 0.34804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.51495, 0.34951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.7227, 0.35074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.76577, 0.35185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.60596, 0.35303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.19657, 0.35442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.49153, 0.35614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.45112, 0.3583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 14.04066, 0.36092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.22335, 0.36401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 11.95311, 0.36754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.17591, 0.37135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.84651, 0.37517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 4.96103, 0.37853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.59575, 0.38083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -2.06874, 0.38148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.76046, 0.38019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.17098, 0.37707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.02833, 0.37265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.15187, 0.36761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.47004, 0.36255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -16.00751, 0.35787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -15.85749, 0.35377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.15062, 0.35028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -14.02531, 0.34735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.60375, 0.34491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -10.97861, 0.34289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.21418, 0.34126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.36024, 0.34001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.46993, 0.33912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.61053, 0.33858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -1.85939, 0.33835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.28614, 0.3384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 1.06896, 0.33864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.20718, 0.33901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.16505, 0.33947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 3.99124, 0.33999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.71918, 0.34056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.35091, 0.34115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.86105, 0.34172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.21739, 0.34215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.40463, 0.34232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.43616, 0.3421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.34607, 0.34145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.16701, 0.34043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.90891, 0.33915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.55234, 0.33775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.05881, 0.33636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.38949, 0.33507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.51989, 0.33392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.44354, 0.33293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.16689, 0.33211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.29569, 0.33143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.9179, 0.33084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.64786, 0.33026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.39384, 0.32961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -7.02339, 0.32885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.38339, 0.32804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.33485, 0.32729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.78547, 0.32675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.70531, 0.32656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.12228, 0.3268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.10432, 0.32751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.73816, 0.32866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.11253, 0.33022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.30927, 0.33214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.40158, 0.33433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.54431, 0.33674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.4687, 0.33926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.32116, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.41395, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.39311, 0.35043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.28467, 0.35254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 9.06309, 0.35455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.70289, 0.35648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.17434, 0.35842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.44106, 0.36049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.46054, 0.36283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.18752, 0.3656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.57772, 0.36892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.58923, 0.37288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.18018, 0.37754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.30368, 0.38288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.90468, 0.38881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 10.92516, 0.39507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.32404, 0.40119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.11259, 0.40641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.39552, 0.40983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.60612, 0.41062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.57675, 0.40845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.17644, 0.40364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.12573, 0.39711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.26033, 0.3899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.53797, 0.3829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -17.01217, 0.37662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.79558, 0.37131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -16.02629, 0.36697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -14.84142, 0.3635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.35906, 0.36076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.67015, 0.35864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -9.84102, 0.35704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -7.92446, 0.35592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -5.97302, 0.35524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -4.04702, 0.35498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.21232, 0.35509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.52825, 0.35552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 0.96756, 0.35619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.26888, 0.357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.39837, 0.35788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.39302, 0.35878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.28458, 0.35966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 6.08543, 0.36047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.78651, 0.36116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.36688, 0.36165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.80738, 0.36184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.09918, 0.36167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.24203, 0.36112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.23431, 0.36026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 8.06252, 0.3592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.69812, 0.35808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.10377, 0.35702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.2452, 0.35608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.10211, 0.35528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.67357, 0.35459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 1.97842, 0.35392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), 0.05522, 0.35319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -2.03376, 0.35227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.19539, 0.35104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.30222, 0.34945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.20179, 0.34751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.74085, 0.34538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.79601, 0.34325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.297, 0.34136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.2337, 0.3399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.64733, 0.33898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.61277, 0.33863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.21947, 0.33884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.55634, 0.33956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.70293, 0.34072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.72668, 0.34225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.68416, 0.34408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.3765, 0.34612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.41395, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.66566, 0.35867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.83539, 0.36069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 6.94696, 0.36291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 8.96461, 0.36533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 10.84929, 0.368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.55791, 0.37101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 14.04366, 0.37447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.25723, 0.37854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.1484, 0.38338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.66696, 0.38911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.76184, 0.39587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.37827, 0.4037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.45441, 0.41259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 13.92141, 0.42236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.71273, 0.43257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.78885, 0.44241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.1784, 0.45064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.02361, 0.4558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.39986, 0.45667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.72026, 0.4529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.56181, 0.44526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.6419, 0.43525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.81955, 0.42453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -18.08568, 0.41433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.52205, 0.40536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.25752, 0.39789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.43463, 0.3919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.18791, 0.38723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.63177, 0.38368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -12.8567, 0.38105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -10.93254, 0.37919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -8.91656, 0.37801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -6.86226, 0.37742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -4.82474, 0.37736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -2.85946, 0.37776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -1.01507, 0.37854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.67607, 0.3796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.20425, 0.38082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.58155, 0.38211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.83312, 0.38337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 5.98418, 0.38453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 7.04868, 0.38556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 8.02431, 0.38642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.89458, 0.38705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.63496, 0.38744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.2183, 0.38758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.61651, 0.38751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.7985, 0.38731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.72748, 0.3871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.36118, 0.38699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.65671, 0.38705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.57882, 0.38729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.10929, 0.38761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.2548, 0.38784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 3.0527, 0.38777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.57521, 0.38711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -2.0678, 0.38565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.73049, 0.38325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.24168, 0.37991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.42666, 0.37585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.1356, 0.37141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.26789, 0.36699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.7834, 0.36295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.69886, 0.35953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.07381, 0.35687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -10.99261, 0.355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.54783, 0.35389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.82771, 0.35345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.90892, 0.35361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.85418, 0.35429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.71371, 0.35541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.47146, 0.3569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.66566, 0.35867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 2.06787, 0.37642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.39252, 0.37846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.67778, 0.38104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 8.88511, 0.3842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 10.97099, 0.38803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 12.88701, 0.39264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.58062, 0.39817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 15.99604, 0.40481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 17.0747, 0.41277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.75469, 0.42223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 17.96875, 0.43338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.64142, 0.44633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.68715, 0.46105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 15.01335, 0.47725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.53501, 0.49415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.20775, 0.51031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.08028, 0.52356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.3486, 0.53137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.6302, 0.53187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.40366, 0.52483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.55063, 0.51188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.79137, 0.49571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -19.02043, 0.47891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.27148, 0.46325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.65919, 0.44966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.33036, 0.43841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.43303, 0.42943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -18.10036, 0.42244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.44408, 0.41715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.55428, 0.41327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.50301, 0.41056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.35014, 0.40884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -8.14892, 0.40796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -5.94928, 0.4078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.7974, 0.40824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.7321, 0.40916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), 0.22007, 0.41042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 2.04805, 0.41189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.75557, 0.41345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.35593, 0.41499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.86372, 0.41644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.28664, 0.41776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.61999, 0.41895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.84521, 0.42004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 11.93135, 0.42108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.83797, 0.42214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.51739, 0.42334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.91609, 0.42481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 13.97585, 0.42666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.63617, 0.42898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.83923, 0.43175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53805, 0.43484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.70778, 0.43794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.35909, 0.44057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.55166, 0.44212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.4036, 0.44197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -1.9092, 0.43966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -5.16937, 0.43507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.1497, 0.42848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.65122, 0.42054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.5338, 0.41205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.7291, 0.40374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.23586, 0.39617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.10385, 0.38966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.41453, 0.38435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.26341, 0.38023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.74649, 0.37722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -8.95117, 0.3752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -6.95145, 0.37406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.8069, 0.37369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.56441, 0.374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.26182, 0.37493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 2.06787, 0.37642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.55253, 0.4075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 4.01017, 0.40984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.43933, 0.4132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 8.80267, 0.41765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 11.05759, 0.42334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 13.15573, 0.43042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 15.04288, 0.43914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.65876, 0.44976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 17.93609, 0.4626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.79865, 0.47801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.15822, 0.49631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 18.91123, 0.51777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 17.93738, 0.54241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.10539, 0.56977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.29452, 0.59849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.44235, 0.62586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.62006, 0.64774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.89439, 0.65946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.6144, 0.65794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -11.96489, 0.64356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.46765, 0.62007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -19.86164, 0.59243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -22.10088, 0.56478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.2801, 0.53965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.55716, 0.51813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -23.10195, 0.5004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -22.07093, 0.48619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.59773, 0.47505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -18.79198, 0.46649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.74201, 0.46007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.51914, 0.45544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.18226, 0.45227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -9.78166, 0.45034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.3613, 0.44941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -4.95912, 0.44932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.60592, 0.44988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.32365, 0.45093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 1.87549, 0.45232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 3.98794, 0.45392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 6.01544, 0.45564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 7.96003, 0.45743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.8187, 0.45929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.57903, 0.46127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.21673, 0.46347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.69504, 0.46605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 15.96538, 0.46918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 16.96844, 0.47307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.63542, 0.47794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.88935, 0.48397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.64754, 0.49125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.82645, 0.4997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.35137, 0.50898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.1727, 0.51837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.29015, 0.52672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.78084, 0.53251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 2.82001, 0.53423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.32366, 0.53085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.32954, 0.52234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -8.89224, 0.5097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.78304, 0.49463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.87854, 0.47884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.15383, 0.46374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.6557, 0.45017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.4728, 0.43855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.71179, 0.42896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.48109, 0.42131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.88118, 0.41543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -9.99941, 0.4111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -7.90819, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.66547, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.31713, 0.40576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -0.90033, 0.40614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.55253, 0.4075 + 1);
}

TEST(GeoLookupTest, inclination)
{
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.59569, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.60943, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.63818, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.68287, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.74296, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.81626, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.89787, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -64.97892, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.04565, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.07967, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.05946, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.96315, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.77201, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.47461, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.0713, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.5787, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.03366, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.49552, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.0453, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.78068, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.80569, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.21562, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -48.07937, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.42339, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.22294, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.40452, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.85905, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.46142, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -55.08952, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.63796, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -58.0242, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.18855, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.09076, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.70708, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.02999, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.0714, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.86722, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.48056, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -60.00013, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.53214, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.18593, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.0569, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.21232, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.68423, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.47043, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.54134, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.84935, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.3381, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.9504, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.63379, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.34368, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -71.04375, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.70391, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.29649, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.79214, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.15667, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.35037, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.33078, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.05918, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.50996, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.67867, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.58395, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.26116, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.75198, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.09606, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.32706, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.47239, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.5545, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59241, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60261, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.59931, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.59415, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.59569, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.19866, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.2148, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.23862, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.27129, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.31333, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.36532, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.427, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.49529, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.5622, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.6138, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.63038, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.58802, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.46115, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.22669, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.87009, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.39349, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.82465, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.22419, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.68814, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.34308, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.33208, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.79155, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.8224, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.46341, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.6774, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.35761, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.35263, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.49926, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.65062, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.69171, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.54135, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.14417, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.45893, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.44988, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.08598, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.34883, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.24578, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.82218, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.16727, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.40947, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.69951, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.18382, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -59.97723, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.14515, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.7003, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61103, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.8154, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.2359, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.79206, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.40976, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -69.02645, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.5921, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.06625, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.41293, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.59657, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.58191, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.33922, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.85267, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.12658, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.18411, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.05874, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.78359, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.38445, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.87851, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.27674, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.58734, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.81842, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.97956, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.0826, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.14152, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17144, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.18666, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.19866, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.39837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.4002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.40436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.41027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.41699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.42576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.44001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.46306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.49504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.5304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.55634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.55208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.48891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.3326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.05044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.62377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.06406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.82433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.41152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.37687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.90372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -41.12774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -42.09667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.75149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -45.94098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.46417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -51.12009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.74473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.22611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.4991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.52694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.27895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.71414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.77821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.41546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.59058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.64168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.70809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.68424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.76386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.12068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.87371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.07114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.67591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.91889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.3185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.77651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.21068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.55697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.76597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.79694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.61495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.1946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.52901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.63664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.55867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.34599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.25706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.77795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.23031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.60587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.90077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.11641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.25964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.34269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.38204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.39837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.02398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -57.99418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.92235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.87417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.82215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.77479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.74059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.72439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.72404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.72643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.70352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.61155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.39816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.02006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.46849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.12022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.64066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.59223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.20867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.65955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -37.99504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -40.12387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.84089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -45.89109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -49.03676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -52.10117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -54.98089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.63262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -60.04455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -62.20392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -64.07343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.58512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.65398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.20563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.20625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.68367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.73587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.52776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.27226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.19146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.46783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.20699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.42627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.06766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -63.02442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.17063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.38586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.57046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.64934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.56689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.27946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.97322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.95171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.73523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.39214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -68.99121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.58039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.17644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.76833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.32977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.83321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.25853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.59505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.8399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -63.99694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.07721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.09894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.08467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.01363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.92713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.84825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.76927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.67855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.56947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.44468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.31508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.19584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.10203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.04349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -43.01741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -41.99906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.93651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.75765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.39411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.81777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.31398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.76456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.7179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.17938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -32.92879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.57406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -38.8526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.45562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -46.10956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.62328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -52.89709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -55.90331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.65032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -61.14328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.35525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.21832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.63674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.51595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.79564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.47337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.61412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.35142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -63.88223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.44415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.26871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.5257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.28624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.52021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.12329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.95706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.88571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.79834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.61345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.2704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.92148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.86169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.56509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.09973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.55859, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.02805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.55945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.15735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.40125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.9517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.41072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.76543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -60.01261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.15495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.20257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.17572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.10305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.01363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.11776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.80348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.66991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.52831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.36329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.17183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -40.96367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.75763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.57687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.44236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.36157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.31349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.23849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.04583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.64533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.15125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.28356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.67225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.65742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.56203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.59922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.79798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -29.98766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -33.85576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -38.04705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -42.25266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -46.25877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -49.95452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.31105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.34364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -59.06992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.47802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.51472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -65.09584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.13221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.55993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.36237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.57963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.31233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.72568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -61.04416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.51878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.36672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.71167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.55918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.34509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -59.00062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.67002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.27032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.73582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -61.00533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.02581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.77383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.27935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.62975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -58.94455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.33164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.84797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.48454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.85875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.45409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.93199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.28163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.50305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.59958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.58068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.46897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.30105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.11776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.23289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.94988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.71717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.52115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.33218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.12311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.88157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.61257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.33529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.07805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.87019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.72697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.5084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.25853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.7747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.01397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.04794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.08422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.44573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.51027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.6211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -16.99015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.62857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -23.34004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -27.78346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -32.572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -37.36161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -41.90206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -46.04987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.75276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -53.01635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -55.86415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.30429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.31386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.84324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.83396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.23958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.04152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.26013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -60.96632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.29553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.45308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.69173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.25301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.29522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.85121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.84131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.12691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.56814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.05608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.51184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.86591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.04264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -54.96872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.60541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -53.98249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.20556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.42369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.77099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.31283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.02527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.57616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.21894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.70518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -49.02933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.19779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.21609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.09347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.8557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.54988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.23289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.28148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.85138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.5109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.24602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -29.01659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.78096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.51393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.21254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.8937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.58828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.33072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.13985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -18.99408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.81651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.48953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.90491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.96978, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.96291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.36462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.56598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -6.90355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.57237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.57203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -15.70681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -20.63879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -25.96979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -31.32159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -36.39292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -40.9861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -45.00518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.43229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.29229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.61918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.43501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.74421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.53737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.79754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.66779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.31545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.55924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.59102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.66633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -48.04205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.89514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.27051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.09136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.21916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.51904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.89293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.27153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.58476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.74259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.64882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.24514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.55722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.70727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.87549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.22563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.83377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.66021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.44173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.14179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.63411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.92005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -41.01426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.92571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.6641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.25964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.77284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.28148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.29546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.69492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.2338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.90012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.6432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.40459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.14302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.84485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.20946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -11.94099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.73577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.56645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.34785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.95891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.30057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.28622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.66854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.13827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.74937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.19743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.31278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -2.90568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -7.29193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -12.54347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -18.27334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -24.07549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -29.59037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -34.55323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -38.81276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.32016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -45.09938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.21336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.73672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.73678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.25971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.32064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.90414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -48.98415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.56431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.72454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.64702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.59589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.84533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.58564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.86356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.59523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.6362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.85537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.16796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.51866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.84108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -39.03365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -38.97802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.59484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -37.90259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -37.03676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.20676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.6059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.32176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.29928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.37033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.14712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.65667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.90666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.92015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.71011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.28766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.68892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -26.99059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.29546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.47126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.70148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.12539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.73601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.47342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.26145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -7.04042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.78384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.49955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.21994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -1.9826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.80264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.35394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.57666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 2.98063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.64488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.54744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.53181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.3223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.57987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 11.97462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.24966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.26139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 5.99573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 1.57088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -3.76692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -9.66244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -15.69824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -21.46643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -26.63958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -31.01202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.50256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -37.13048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -38.98252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.18059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.85059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.09112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.94771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.40581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.41496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -37.9433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -36.04189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -33.88298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.74017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -29.90541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.58088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.81185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.50343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.50159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.67664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -27.95686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.30322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.65765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -28.91262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -28.9324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.61874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -27.98106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.16244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.39407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -25.89279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.75576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.91527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.17992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.3316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.21495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.77097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -25.01041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -23.96257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.64415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -21.06859, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.27927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.37034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.47126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.19223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.29116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.63186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.2153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 1.02423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.1787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.32636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.50777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.72118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 6.9345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 8.10987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.23493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.34715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.53322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.89321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.48046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.24743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.02729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.56024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.55005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.72448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 19.87797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 17.89034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 14.73231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 10.47474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 5.30529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -0.46555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -6.43413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -12.17446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -17.32228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.63296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -24.9961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.41845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -28.99534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.87865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.2384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.21717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.88874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.24203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.20688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.72021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.80562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.62271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.44799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.58349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.23825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.45585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.13318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.10877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.25359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.50684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.84566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.22452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.53853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.64451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.43221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -16.90202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.19633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.55404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.2023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.24269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.60036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.39938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.42597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -16.07598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.35745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.30128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.92643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.24928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.32065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.25055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.19223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.02677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.98542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.67346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 10.07923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.26841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.34316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.39702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.48397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.6094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.74292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.8467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.90864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 19.96356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.35745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.80263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.35842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.08832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.79099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.75817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 27.8322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 25.9153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 22.97097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 19.03863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 14.26087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 8.90097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 3.32367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -2.068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -6.91433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -10.9597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -14.07342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.24143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.5479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.15084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.24369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -18.0002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.51926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.79804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.75615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.30855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.45532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.33845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.22406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.40836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.09713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.33252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -4.01097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -3.9711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.08641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.30363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.61275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -4.98351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.32396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.49793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.39494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -5.00881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.47142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -4.01068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.84559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.07457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.62327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.28222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.80585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -6.00924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.81006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.20654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.22464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.88276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.1998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.7677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.89946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.02677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.67546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.59903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.25203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.61031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.73234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.72179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.68073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.67352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.71331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.77344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.81687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.82885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.83529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.89381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.05834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.33466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.65129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.86195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.77679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.20474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 35.98643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 35.00653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.19182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.51206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 26.99677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 22.76282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 18.03124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 13.11117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 8.34761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 4.05499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.46779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -2.27849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -4.14737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.19686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.56857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.45582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.04599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.69617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.68853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.33968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.36749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.31458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.26265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 5.94052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.15756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.87267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.18051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.23216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.1478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 7.97685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.7223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.39979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 7.07988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.87689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.88789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.12103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.46299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.71443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.68214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.27849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.57028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.74951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.04812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.65044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.65035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 5.06535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 5.88102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.08326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.65247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.5304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.59534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.67546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.39262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.19129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.74999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 28.03218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 29.08288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 29.99767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.87823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.79411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.76556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.77174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.77771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.76461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.74547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.75652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.82732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.04059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 41.98382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.62272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.81164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.4357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.41677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.70963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.3032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.23495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.61158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 26.61826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.50216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.53214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 14.95284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 11.95393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.65849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.11806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.30455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.10718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.35359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.86282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.51105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.27344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.21317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.41741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.91251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.60773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.30505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.77398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.84854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.48871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.77286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.83285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.77808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.65652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.47025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.22412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 18.96434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.77416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.72683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.82717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 18.98352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 19.03479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.82408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.27969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.45716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.51964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.67137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.0853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.86289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 15.03927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.61569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.5856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 17.93147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.59834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.47269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.39262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.03202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.63367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.05022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.23582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.21879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.07867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.90754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.77346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.70133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.67703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.66949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.65616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.63661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.62589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.63163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.62862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.54627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.2763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.69638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.69687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.19832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.15517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.55232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.40534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.76894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.7473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.49433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.19714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 28.04775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.21706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 22.84179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 21.02104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.80993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.20416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.12706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.43994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.98479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.64325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.37833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.23145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.27235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.52865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.93665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.34496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.5714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.48004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 30.03309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.28965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.35727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.33076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.25656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.13963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 29.97893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.79902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.6511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.58085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.58582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.59373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.48161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.13025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.48544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.59183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.62424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.87562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.43849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.36278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.66529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.3483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.39849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.76838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.36002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.03202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.63553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.99193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.23186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.30603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.22671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.0527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.85887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.70463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.61527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.58244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.57997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.58351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.58153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.57118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.54218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.45919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.25416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.8339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.09956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 53.9685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.38878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.34274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.8441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 48.93551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.68942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.20833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.61826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 39.05401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.64222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.49086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.68873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.30782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.39735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 29.96652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 29.96756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.29801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.83121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.46344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.15076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.91218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.79508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.82228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.95228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 37.07785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 38.06491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.80916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.27733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.51048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.5909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.59617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.56912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.51799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.43946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.34201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.24981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.18333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.13128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 39.03581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.80561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.35419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.6438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.71096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.66011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.63051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.75563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.13485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.82701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.86057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.24541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 33.97315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 35.00579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.2648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.63553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.36442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.45351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.49773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.45114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.31367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.12262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.93106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.78368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.70099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.6775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.69158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.71906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.74116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.74223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.6991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.56958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.28815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.77299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 58.9424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.73346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.1153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.09302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.7043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 54.01333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 52.10481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 50.07685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 48.03109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 46.06147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.2462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.64749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.31774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.30459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.64629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.35616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.40636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.72567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.21906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.8017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.42822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.09935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.84099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.66806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.43145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.20605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.80481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.20142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.42254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.52712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.57439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.60046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.61472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.61289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.59268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.55844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.51089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.43063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.26949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 46.95993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.44128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.69013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.73851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.67025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.59839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.63623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.87509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.37616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.17404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.28342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.70032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.39643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.31312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.36442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.43759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.26461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.1122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.94303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.74971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.55062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.37641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.25379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.19418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.19116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.22592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.27538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.32795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.27692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.11825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.78928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.21702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.33247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.08747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.46723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.49399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.22224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.72917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.10388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.43668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.80906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.28619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 50.91502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.72892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.75615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 48.0254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.56252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.37864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.45711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.7498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.70724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.26365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.84636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.46429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.12436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.81156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.48368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.08428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.56614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.91135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.1364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.28041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.38455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.47541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.5602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.63301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.68435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.70515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.68235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.59059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.38845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 54.02589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.46222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.68652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.72954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.66091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.56196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.70738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.06769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.67848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.55638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.70084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.09253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.6911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.43759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.08749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.68317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.35182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.06681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.81791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.60936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.45259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.32313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.34081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.3917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.45352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.50241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.51145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.44614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.25992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.89367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.28207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.36651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.11067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.51213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.60485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.45251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.13657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.74342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.35317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 59.03135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.8248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.76281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.86323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.14026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.60918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.28458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.17232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.26052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.5162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.89136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.3366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.81522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.30994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.81864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.34226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.87254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.3874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.85673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.25489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.57225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.81883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 60.01799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.19447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.36371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.52758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.67683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.79631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.86803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.87018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.77407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.54405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.14386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.54907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.76, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.80854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.6764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.65176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.74967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.02151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.50025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.20241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.13017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.27206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.08749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.52209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.06854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.53163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.2911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.26808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.2922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.34406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.4013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.4393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.42949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.3362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.11381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.70734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.05869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.1187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.86147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.29433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.45841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.42019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.25853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 66.05213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.86986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.76491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.77306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 61.91494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.2014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.63946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.23589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 59.99646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.92138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 59.99999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.20848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.51307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.87771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.27269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.67987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.09182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.5063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.91952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.32273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.70382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.05264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.36627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.65074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.91776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.17833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.43669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.68739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.91604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.10208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.22125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.24647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.14827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.89703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.46865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.85288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.06057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.12618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.10373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.05783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.05327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.38014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.7831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.52209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.88832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.1066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.73719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.46558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.28271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.17726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.13469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.13713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.16397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.19244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.1972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.14878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 73.01117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.74017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.28475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.59348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.62611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.36634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.82955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.06083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.12505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.09423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 70.03675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 69.01027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.0582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.20943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.48061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.88002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.41154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.07713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.87679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.80652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.85575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.00636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.23438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.51414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.82323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.14598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.47416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.80484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.13729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.47063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.80338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.13476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.46604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.80064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.14221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.49135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.84262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.18286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.49158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.74276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.90714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.95455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.85662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.59043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.14343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.5183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.73556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.8326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.85878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.86846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.91399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.04026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.28178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.66214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.19509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.88652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.73623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.7395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.88832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.24851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.4509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.77927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.22767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.7888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.45369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.21122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.04783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.94741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.89152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.85964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.82913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.77441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.66556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.46641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.13382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.6198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.87848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.87756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.60965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.09708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.38697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.54015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.61974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.68298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.77686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 71.93651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.18573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.53886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 70.00322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.58157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.27368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.07673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 68.98474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.98782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.07204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.22055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.4158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.64221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.8883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.14758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.41808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.70097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 70.99904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.31571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.65432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 72.01769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.40718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.82123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.25359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.69175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.11618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.50075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.81426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 75.02322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.09546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 75.00461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.73473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.28413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.91214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.05915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.15331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.24029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.36186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.84063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.24369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.77415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.43856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.23952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.17686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.24851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.58177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 71.00051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.37901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.86308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.44479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.11395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.85812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.66273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.51113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.38462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.26198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.11858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.92491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.64512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.23677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.65378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.85439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.81312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.53088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 80.03629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.37736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.60954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.78627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.95368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.14865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.39877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.72316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.13394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.63767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.23681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.93065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.71591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.58687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.55167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.6243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.7422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.89565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.07757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.28408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.51455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.77099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.05708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.37716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.73511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.13324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.5711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 76.04418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.54264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 77.05023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.54379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 77.99348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.36428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.61919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.72425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.65479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.40095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.97032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.38643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.68412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.90386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.08679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.27108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.48982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.76993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.13207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.59114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.15722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.83662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.63296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.54793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.58177, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength)
{
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58450.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57308.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56153.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 54993.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53834.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52680.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51529.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50375.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49206.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 48007.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46759.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45446.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 44054.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42579, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 41023.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39401, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37736.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36061.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34417.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32848.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31396.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30102.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 28993.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28086.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27377.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26847.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26464, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26187.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 25978.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25802.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25635.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25468, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25301, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25149.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 25038.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 25003.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25088.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25341.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25809, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26531.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27538.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28841.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30433.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32294.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34389.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36673, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39097.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41610.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44165.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46716.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49224.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51655.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 53976.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56156.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58164.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 59973.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61556.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62894.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63974.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64793.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65357.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65676.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65768.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65650.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65343.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64867.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64243.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63489.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62626.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61672.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60647.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59567.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58450.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56288.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55090.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53885.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52679.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51481.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50293.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49117.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 47947.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46775.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45583.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44352.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43062, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41696.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40245.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38708.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37096.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35430, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33742.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32077, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30485.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 29022, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27737.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26671.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25845.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25256.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24878.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24667.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24567.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24527, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24501.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24460.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24389.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24287.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24166.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 24047.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 23966.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 23970.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24119.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24475.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25100.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26040.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27319.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28938.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30872.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33078.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35497.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 38065.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40717.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43391.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 46035, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48603.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 51062, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53380.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55532.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57488.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59224, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60716, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61949, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62916.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63621.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64073.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64289.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64286.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64084.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63701.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63156, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62465, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61646.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60717.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59698.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58608, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57465.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56288.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53940.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52714.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51484, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50256.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49037, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47831.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46641.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45467.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44300.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43126.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41929.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40687.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39384.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 38005.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36545.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 35006.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33405.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31770.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30145, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28585.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27156.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25920.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24927.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24205.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23752.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23533.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23492.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23563.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23684.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23806.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23899.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23948.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 23948.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23905.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23830.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23750.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23707, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23762, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 23991.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24476.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25286.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26467.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28030.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29957.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32198.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34684, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37333.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 40065, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42800.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45476.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 48043.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50465.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52715, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54767.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56600.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58192.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59525.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60594.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61402, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61960.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62286.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62399.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62316.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62053.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61623, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61039.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60315.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59465.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58505.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57451.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56326.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55149.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53940.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51435.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50207.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 48977.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47751.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46533.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45328.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44141.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 42973.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41821.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40677.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39527.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38354.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37141.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35872.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34536.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33126, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31647.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30123.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28594.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27119.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25769, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24615.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23719.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23111.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22789.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22713, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22817.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23028.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23283.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23536.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23761.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23948.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24092, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24186, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24227.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24224.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24202.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24216.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24345, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24682.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25320, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26329.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27746.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29566.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31743.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34203.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36852.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39589.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42322.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 44973.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47485.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49820.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51951.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53855.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55511.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56903.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 58024.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58880.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59490.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59878.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60071.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60087.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59939.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59635.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59180.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58583.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57851.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 56996.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56030.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54969.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53835.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52650.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51435.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48788.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47584.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46382.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45185.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 43996, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42816.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41653.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40510.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39391.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38292, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37204.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36117.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 35016.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33885.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32705, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31461.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30149.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28781.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27395.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26048.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24816.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23775.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 22989.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22493.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22284.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22318.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22528.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22841, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23196.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23558.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23911.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24249.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24567.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24849.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25071.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25219.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25295.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25338.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25418.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25632.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26086.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26874.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28061.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29670, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31671.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 33997.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36545.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39201.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41857.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44423.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46832.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 49042.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 51021.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52745.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54193.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55352.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56225.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56836.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57225, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57432.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57491.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57420.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57222.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56893.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56429.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55832.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55108.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54265.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53314.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52270.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51151.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49983.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48788.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46027.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44876.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43731.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42594.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41463.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40341, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39232.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38145, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37084.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36052.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35048.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34065.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33094, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32117, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31112.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30056.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28936.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27757.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26549.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25367.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24284.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23375.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22703.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22304.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22176.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22280.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22554.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22932.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23361.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23815.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24286.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24777.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25278.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25764.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26195.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26532.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26757.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26884.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 26971.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27103.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27390.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27940.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28846.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30162, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31889.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 33975.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36320.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38804.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41304.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43721.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 45980.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 48032.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49840.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51372, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52601, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53515.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54130.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54488.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54651.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54680, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54615.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54470.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54234.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53890.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53424.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52834.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52125.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51306.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50387, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49379, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48300.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47175.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46027.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43213.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42144.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41088.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40042.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 39005.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 37975.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36959.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 35964.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 34998.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34067, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33173.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32315.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31488.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30675.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29854, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 28995.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28080.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27107.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26100.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25107.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24191.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23420.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22851.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22521.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22434.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22563.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22860.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23270.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23752.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24282.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24859.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25483.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26808.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27425, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27940, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28316.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28551.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28679.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28773, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28929, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29261.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29879.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30869.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32264.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 34035.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36095.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38323.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40593.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42799.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44863.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46729.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48352.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49690.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50708.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51392.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51764.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51887.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51844, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51712.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51540.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51334.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51070.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50715.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50248.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49665.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48974, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48185.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47309.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46356.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45340.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44284.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43213.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40452.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39498, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38560.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37638.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36728.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35827.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34942.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34079.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33248.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32454.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31702.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 30994.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30325.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29684.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29046.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28385.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27679.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26920.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26124, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25326.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24577.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23932, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23440.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23140.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23046.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23151.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23427.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23835.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24344, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24929.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25583.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26301.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27067.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27846.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28584.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29222.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29715.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30046.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30230.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30317.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30389.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30552.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30924.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31609.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32669.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34099.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35828.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37745.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39728.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41673.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43501.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45155.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46584, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47734.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48561.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49047.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49218.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49149, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48939.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48679.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48421, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48163.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47871.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47502.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47029.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46449.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45774.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45020, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44196.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43311.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42379.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41419, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40452.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37901.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37088.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36297.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35526.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34770.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34029.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33307.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32613.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31952.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31331.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30751.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30215.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29719.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29254.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28801.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28335.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27832.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27282.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26688.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26073.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25470.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24923.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24474.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24161.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 24012.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24041.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24245.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24608.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25102.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25704, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26391, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27146.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27948.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28761.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29538.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30225.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30779.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31174.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31410.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31517.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31556.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31618.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31818.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32268.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33042.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34155.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35554.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37141.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38808.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40460.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 42027.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43450.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44677.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45648.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46311.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46642.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46669.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46469.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46148, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45798.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45471.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45162.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44834.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44438.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43948.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43364, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42701.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41979.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41212.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40407.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39576.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38735.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37901.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35738.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35088.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34464.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33862.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33277.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32713.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32176.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31674.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31211.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30789, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30405.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30060.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29749.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29466.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29196.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28918.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28607.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28247.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27831.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27365.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26873.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26385.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 25939.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25575.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25331, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25239, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25321.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25583.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 26008.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26567.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27227.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27956.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28725.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29500.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30243.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30914.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31476.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31903.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32183.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32329.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32383.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32420.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32542.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32853.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33427.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34287.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35393.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36669, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 38024.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39380.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40678.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41866.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42891.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43694, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44219.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44443.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44386.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44120.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43741.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43336.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42951.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42583.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42196.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41751.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41224.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40622, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39962.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39269.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38558.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37838.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37121.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36417.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35738.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34121, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33643.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33194.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32766.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32357.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31975.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31629.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31329.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31077.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30868.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30696.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30555, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30438.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30341.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30253, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30152.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 30014.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29814.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29536.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29176.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28749.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28279.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27803.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27359.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 26993.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26750.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26673.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26785.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27082.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27536.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28106.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28749.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29430.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30119.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30786.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31403, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31941.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32377.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32695.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32897.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 33010.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33092.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33226.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33497.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33969, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34657.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35534.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36544.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37620.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38706.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39754.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40719.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41554.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42204.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42619.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42773.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42683.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42403.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42010.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41573.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41129.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40681.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40205.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39678, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39088, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38445.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37774, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37097.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36434.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35797.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35195.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34636.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34121, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33144.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32832.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32551.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32289.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32048.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31840.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31681.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31580.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31538.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31546.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31591, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31659, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31742.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31833.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31922.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 31987, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 31998.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31925, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31743, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31444.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 31038.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30551.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 30016.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29475.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 28977.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28577.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28327.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28264.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28394.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28695.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29125.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29640.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30203.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30786.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31365.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31921.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32431.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32872.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33228.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33497.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33698, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33875.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34090.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34403.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34853.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35448.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36166.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 36970.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37822.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38683.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39521.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40299.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 40972.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41494.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41823.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41939.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41848.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41585.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41200.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40736.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40223.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39668.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39070.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38423.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37736.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37025.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36316.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35634.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 35000.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34429.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33930.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33505.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33144.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32827.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32654.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32518.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32405.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32316.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32269.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32282.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32368.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32528, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32745.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 33002.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33278.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33561.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33839.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34099.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34315.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34453.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34477.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34358.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34085.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33669.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33136.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32524.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31879.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31253.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30707.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30298.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30066.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30026.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30159.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30431, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30801.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31238.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31717.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32222, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32732.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33225.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33679.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34077.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34417.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34716.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35009, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35337.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35734.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36214.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36773.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37393, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38055.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38743.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39440.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40124.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40763.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41319.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41750.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 42026.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42126.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42051.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41814.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41437.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40940.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40342.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39660.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38910.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38113.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37294, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36480.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35701.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34983.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34348.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33812.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33384.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33061.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32827.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33129.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33056.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33033.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33043.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33088.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33185.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33356.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33614.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33958.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34370.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34825, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35298.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35771.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36227.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36647.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 37000.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37248.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37349.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37272.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 37007.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36564.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 35972.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35277, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34529, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33788.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33120.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32580.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32211.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32025.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32009, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32133.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32367.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32689.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33081.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33529.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 34012.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34505.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34981, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35421.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35826.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36213.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36611.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37046.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37530.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38057.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38611.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39179.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39756.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40343.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40939.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41530.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42090.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42581.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 42969.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43225.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43332.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43280.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43066.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42688.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42148.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41457.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40638.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39724.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38757.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37781.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36835.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35955.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35166.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34493.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33952.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33550.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33283.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33129.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33994.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33974.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34026.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34132.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34291.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34518.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34833.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35246.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35754.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36337.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 36967.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37615.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38258.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38872.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39433.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39906.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40247, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40412.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40371, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40109.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39638.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 38992.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38219.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37381.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36546.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35780.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35143.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34672.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34376.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34242.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34247.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34369.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34595.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34915.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35319.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35785.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36281.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36778.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37253.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37708.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38159.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38631.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39141, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39686.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40250.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40813.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41363.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41904.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42448.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 43003.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43561.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44098.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44579.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 44970.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45242, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45374.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45351.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45155, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44768.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44181.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43400.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42452, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41382, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40248.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39111.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38020.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37017.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36132.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35388.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34802.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34381.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34119.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33994.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35372.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35361.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35453.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35627.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35882.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36225.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36669.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37220.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37870.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38596.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39370, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40159.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 40937.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41677.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42350.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 42916.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43330.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43549.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43538.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43285.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42798.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42114.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41285.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40380.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39473.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38635.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37926.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37378.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 36999.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36775.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36688.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36720.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36866.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37124, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37484.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37927.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38417.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38921.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39416.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39898.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40383.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40891.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41434.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 42006.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42590.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43165.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43723.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44271.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44824.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45392.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 45970.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46533.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 47048.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47478.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47793.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 47967.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 47977.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47795.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47398.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46770.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45915.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44863.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43666.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42394.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41115.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39890.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38766.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37776.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36944.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36287.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35812.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35513.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35372.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37227.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37196, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37297.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37517, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37846.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38288.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38845.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39512.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40277.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41114, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 41992, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42880.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43750, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44572.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45314.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 45938.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46398.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46652.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46666.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46424.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 45937.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45238.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44382.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43439.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42488.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41602.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40837.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40226.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39777, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39477.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39310.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39266.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39341.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39536.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39846, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40248.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40712.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41201, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41690.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42174.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42664.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43175.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43718.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44291.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44880.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45471.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46058.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46649, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47253.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47879.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48517.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49142.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49720.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50212.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50585.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50808.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50850.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50683, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50279, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49622.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48720.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47602.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46326, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44962.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43586.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42263.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41045, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39966.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39052, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38318.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37772.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37412.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37227.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39527.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39462.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39557.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39800.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40182.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40698.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41340.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42093.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 42938.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43845.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44783.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45722.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46632.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47485.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48249.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48886.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49357.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49620, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49644.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49414.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 48938.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48247.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47394.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46447, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45481.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44567.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43761.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43095.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42579.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42206.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41965.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41847, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41851.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41978.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42222.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42565.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 42976.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43424.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43883.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44345.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44816.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45309.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45835, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46395.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 46986.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47599.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48232.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48889.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49574.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50286, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 51008.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51715.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52368.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52930.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53361.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53629.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53700.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53546.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53141.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52475.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51557.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50419.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49119.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47725.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46313.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44948.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43683.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42553.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41584.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40792.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40185.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39765.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39527.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42222.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42127.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42208, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42456.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42863.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43418, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44103.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44898.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45775.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46704, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47651.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48588.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49486.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50318.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 51053.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51660.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52101.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52344, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52359.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52135.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51678.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 51014, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50190.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49268.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48317.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47400.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46570.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45860.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45282.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44838.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44522.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44329.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44259.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44310.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44475.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44739.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45076.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45459.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45867.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46288.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46727.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47193.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47698.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48248.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48845.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49490.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50179.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50914.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51689, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52493.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53305.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54092.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54817.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55438.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55918, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56219.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56313, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56170.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55775.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55121.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54222.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53112.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51846, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50488.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49107.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47766, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46513.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45386.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44408.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43595, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42956.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42498.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42222.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45210.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45098.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45162.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45398.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45798.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46346.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 47023, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47802, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48653.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49545.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50447, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51328.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52162.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 52924.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53587.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54124.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54504.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54700.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54691, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54466, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 54030.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53407.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52635.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51766.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50858.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 49965.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49134.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48398.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47774.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47269.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46884.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46618.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46470.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46439.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46517.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46690.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46940.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47244.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47587.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47959.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48361.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48802.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49292.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49841.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50454.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51135.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51880.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52686.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53539.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54422.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55305.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56154.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56928.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57589, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58096.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58418.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58526.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58398.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 58025.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57408.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56564.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55529.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54352, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53090.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51806.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50553, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49376.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48309, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47374.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46587.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45959.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45498.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45210.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48316.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48201.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48248.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48454.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48811.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49305.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49916.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50618, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51381.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52177.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 52976.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53751, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54476.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55128.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55686.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56125, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56422.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56557.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56514.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56286.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55878.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55308.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54607.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53814.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 52976.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52137.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51335.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50602.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49958.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49413.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48976.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48647.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48428.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48317, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48307.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48389.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48549.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48773.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49049.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49370.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49739.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50162, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50646.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51202.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51835.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52547.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53334.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54187.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55088.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 56013.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56930.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57803.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58593.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59262.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59775.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60102.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60221.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60116, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59783.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59230.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58478.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57560, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56519.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55406.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54271.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53161.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52113.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51157.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50314.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49598.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 49021.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48591.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48316.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51306.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51194, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51217.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51375, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51659.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52058.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52554.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53126.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53749.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54398.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 55047.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55673.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56254.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56769.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57200.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57527.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57733.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57804, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57728.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57502.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57130, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56625.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 56011, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55315.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54573.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53817.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53079.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52385.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51756.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51206, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50743.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50374.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50102.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49926.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49842.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49846.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49928.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50081.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50298.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50577, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50918.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51326.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51808.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52369, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 53012.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53736.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54535.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55396, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56297.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57214.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58115.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 58966.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59730.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60374.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60869.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61189.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61317.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61246, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60974.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60514.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59886.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59120.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58253.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57326.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56379.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55449.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54567.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53758.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53040.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52427.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51928.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51552.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51306.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53921, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53809.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53801.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53896.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54087.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54366.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54719.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55129.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55580.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 56051, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56522.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 56975.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57392.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57756.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 58052.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58265.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58383.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58395.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58294.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58078.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57751.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57322.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56807.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56225.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55599.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54954.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54312.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53696.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53122.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52606.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52157, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51783, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51488.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51277, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51147.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51097.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51125.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51226.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51400.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51645.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51962.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52355.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52825, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53374.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 54002.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54705.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55472.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56289.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57137.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 57990.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58820.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59599.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60296.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60884.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61338.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61642, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61781.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61754.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61561.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61216.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60736.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60146, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59474.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58753.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 58013.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57281.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56582.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55936.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55359, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54860.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54450.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54135.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53921, 145 + 500);
}
